/*
 *  Recipe.h
 *  MilovoMg00
 *
 *  Created by jonny on 6/8/06.
 *  Copyright 2006 __MyCompanyName__. All rights reserved.
 *
 */

#ifndef RECIPE_H
#define RECIPE_H

#include "Milovo_HCommons.h"
#include "Artifact.h"

using namespace std;

class Recipe {
	Mil_Int ID;
	Mil_Int IDAgentOwner;
	Mil_Int Status;
	Mil_Int IDArtifactOutput;
	Mil_Int NProduce;
	bool CanProduce;
	
public:
	list<Mil_Int> LinksIDArtifacts;
	list<Mil_Int> LinksNameArtifacts;
	list<Mil_Int> LinksOperators;
	
	Recipe();
	Recipe(Mil_Int tmpID, Mil_Int tmpIDAgentOwner, Mil_Int tmpStatus);
	Recipe(Mil_Int tmpID, Mil_Int tmpIDAgentOwner, Mil_Int tmpStatus, Mil_Int tmpIDArtifactOutput,
			 Mil_Int tmpNProduce);
	~Recipe();
	Mil_Int GetID() {return ID;}
	Mil_Int GetIDAgentOwner() {return IDAgentOwner;}
	Mil_Int GetStatus() {return Status;}
	Mil_Int GetIDArtifactOutput() {return IDArtifactOutput;}
	Mil_Int GetNProduce() {return NProduce;}
	bool GetCanProduce() {return CanProduce;}
	bool IsActive();
	
	void SetStatus(Mil_Int tmpNewStatus) {Status = tmpNewStatus;}
	void SetIDArtifactOutput(Mil_Int tmpNewIDArtifactOutput) {IDArtifactOutput = tmpNewIDArtifactOutput;}
	void SetNProduce(Mil_Int tmpNewNProduce) {NProduce = tmpNewNProduce;}
	void SetCanProduce(bool tmpNewCanProduce) {CanProduce = tmpNewCanProduce;}
};

#endif

